使用Superagent和Express4接收POST请求数据 | 您所在的位置:网站首页 › javascript post请求 › 使用Superagent和Express4接收POST请求数据 |
快递-v:4.13.3 Superagent -v:1.4 函数从我的应用程序的前端发送POST请求: search: () => { request.post('/api/search') .set('Content-Type', 'application/json') .send({hello: 'hello w'}) .end((err, response) => { if (err) return console.error(err); serveractions.receiveTest(response); }); }我的快递路由器文件: var express = require('express'); var router = express.Router(); var bodyParser = require('body-parser'); router.use(bodyParser.urlencoded({extended: false})); router.post('/api/search', (req, res, next) => { console.log(req.body); res.json({test: 'post received'}); }); module.exports = router;路由器成功发送和接收请求,但即使我正在.send({hello: 'hello w'})使用Superagent ,req.body仍然是空的.为了正确发送json对象并在路由器中接收它,我需要更改什么? 1> httpNick..: 我想出了答案: 我将路由器文件更改为: var express = require('express'); var router = express.Router(); var bodyParser = require('body-parser'); router.use( bodyParser.json() ); router.use(bodyParser.urlencoded({ extended: true })); router.post('/api/search', (req, res, next) => { console.log(req.body); res.json({test: 'post received'}); }); module.exports = router;我的请求方法是: searchRequest : (data) => { request .post('/api/search') .send({ searchTerm : data }) .end((err, res) => { if (err) console.log(err); console.log(res); }) } |
CopyRight 2018-2019 实验室设备网 版权所有 |